To be able to use the computer a mechanism of communication with the man is required.
The so-called User Interface allows
to enter and read data from the screen,
execute commands and the like.
The interface is generally constructed as a hierarchical tree
ie. "parent" controls contain "child" controls.
For example the table can contain rows and the row can contain cell controls.
In the above example, we have three rows.
Each row contains two cells.
The cells contain labels, text fields and buttons.
Controls forming the interface are objects that usually contain
pointers to other objects of "child" in the tree of controls.
Each control displays its contents.
All controls creates together a picture of the interface on the screen.
Each event like a keystroke or a "click" of the mouse button
is registered by the operating system and forwarded to the appropriate program
based on its x, y coordinates on the screen.
Usually we distinguish several types of interfaces
eg. a desktop, web, mobile etc.
The desktop interface refers to programs that are installed locally on the computer.
The web-based interface applies to websites that are loaded from the network
and displayed in the browser window.
A special case is also the "document" interface.
It fact it doesn't actually differ much from those listed above.
Instead of labels and text fields we have paragraphs in the "Word"
or rows and cells in the "Excel",
which are similarly displayed on the screen and trigger the events.